#ifndef NICE_TRY_SOLVER_HPP_
#	define NICE_TRY_SOLVER_HPP_

#	include "BasicSolver.hpp"
#	include "HuffTree.hpp"
#	include "Merger.hpp"

class NiceTrySolver : public Solver
{
	public:
		NiceTrySolver(VRPTW& inVRPTW)
			: Solver(inVRPTW), ntBasicSolver(inVRPTW), ntMerger(inVRPTW), ntSolution(inVRPTW),  ntMaxIt(200000)
		{}
		
		void	execute() EXC_THROWER();
		void	setMaxIt(unsigned inV)	{ ntMaxIt = inV;	}
		
		Merger&	getMerger()	{	return (ntMerger);	}
		BasicSolver&	getBasicSolver() { return (ntBasicSolver);	}
		
	protected:
		BasicSolver		ntBasicSolver;
		Merger			ntMerger;
		Solution		ntSolution;
		unsigned		ntMaxIt;
};

#endif
